﻿using HamcoWcs.Contract.ContractCommon;
using HamcoWcs.Models.Common;
using HamcoWcs.Models.ForeEndModels.UIPaths;
using System.Threading.Tasks;

namespace HamcoWcs.Contract.ContractForeEnd
{
    public interface IForeEndPathService 
    {
        bool CreateNode(UINodeCreateModel model);
        bool DeleteNode(UINodeDeleteModel model);
        bool UpdateNode(UINodeUpdateModel model);
        ForeEndResult GetNodes(UINodeQueryModel model);


        bool UpdateEdge(UIEdgeUpdateModel model);
        ForeEndResult GetEdges(UIEdgeQueryModel model);

        bool UpdatePath(UIPathUpdateModel model);
        ForeEndResult GetPaths(UIPathQueryModel model);
        void AddPath(UIAddPathModel model);
        void AddEdge(UIAddEdgeModel model);


        void GenerateEdge();
        void GeneratePath();

        void ClearEdge();

        void ClearPath();

    }
}
